Response Web Design
《Dive_into_Responsive_Web_Design_lisongfeng.pdf》
- 媒体查询
- 弹性布局
- 弹性媒体
- 弹性字体
媒体查询
媒体查询由一个媒体类型和零或多个表达式组成,其中的表达式用于检测特定的媒体特性。
@media (orientation: portrait) and (min-width:768px) and (…) { … } @media all and (min-width: 1200px){ ... }
多数特性带min-或max-前缀,表示“大于等于”或“小于等于”,以免与HTML或XML中的“<”和“>”冲突。可以带前缀的特性使用时通常带前缀,比如max-width。
媒体查询是一个逻辑表达式,它值要么为true,要么为false。如果媒体查询的媒体类型与运行用户代理的设备的媒体类型匹配,并且媒体查询中的所有表达式返回true,则媒体查询返回true。
- 为不同媒体及特性指定样式有两种方式(一)
<head> <link rel="stylesheet" href="wide.css" media="screen and (min-width:1024px)" /> <link rel="stylesheet" href="mobile.css" media="screen and (max-width:320px)" /> </head>
- 为不同媒体及特性指定样式有两种方式(二)
<style> @media all and (min-width:500px) { … } @media (orientation: portrait) { … } </style>
多个媒体查询可以组合成媒体查询列表,以逗号分隑。列表中的一或多个媒体查询返回true,列表返回true,否则返回false。列表中用逗号表示逻辑或,用and关键字表示逻辑与。
@media screen and (color), projection and (color) { … }
弹性布局
在css中,对width/height都使用百分比,不使用绝对数值。
弹性媒体
不父元素共舞。
img, object, embed, video { max-width: 100%; }
不限制图片一样,max-width会限制视频窗口宽度不会超过父元素的宽度。
弹性字体
用em代替px。
html, body { font-size:14px; /* 1em = 14px */ } header { font-size:18px; } header h1 { font-size:28px; }
视口
<meta name="viewport" content= "initial-scale=1.0" /> <meta name="viewport" content= "width=device-width" />